package com.vtron.dbase.dao;


import com.vtron.dbase.models.DbRelationship;
import com.vtron.dbase.models.PageResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


/**
 * 基础对象数据接口
 * @date : 2022/2/15 17:44
 * @author: 忻龙彪
 */
public interface IBaseDao<T> {
    /**
     * 保存
     * @param t
     * @throws Exception
     */
    void save(T t) throws  Exception;

    /**
     * 更新
     * @param t
     * @throws Exception
     */
    void update(T t) throws  Exception;
    /**
     * 删除
     * @param id
     * @throws Exception
     */
    void delete(String id)throws  Exception;

    /**
     * 获取
     * @param id
     * @return
     * @throws Exception
     */
    T get(String id) throws  Exception;

    /**
     * 列表
     * @param qParameters
     * @return List<T>
     * @throws Exception
     */
    List<T> list(@Param("qParameters") List<DbRelationship> qParameters) throws  Exception;
}
